package cn.doit.scala.day05.high_function

/**
 * @DATE 2021/12/30/11:17
 * @Author MDK
 * @Version 2021.2.2
 * */
object C01_高阶函数 {
  def main(args: Array[String]): Unit = {
    //方法中的参数有函数  参数三 高阶方法(高阶函数)
    def opt(x:Int, y:Int, f:(Int,Int)=>Int): Int ={
      f(x,y)
    }
    val f1 = (x:Int, y:Int)=>{
      x+y
    }

    val f2 = (x:Int, y:Int)=>{
      x*y
    }

    val f3 =(x:Int, y:Int)=>{
      if(x>y)x else y
    }
    //前面两个参数的处理逻辑取决于参数三(参数)
    println(opt(2,3,f1))
    println(opt(2,3,f2))
    println(opt(2,3,f3))
  }
}
